利用VBA批量删除Excel中的中文/英文/数字或者替换中英文符号 您所在的位置:网站首页 vba 正则 提取 英文数字 利用VBA批量删除Excel中的中文/英文/数字或者替换中英文符号

利用VBA批量删除Excel中的中文/英文/数字或者替换中英文符号

2024-01-29 11:43| 来源: 网络整理| 查看: 265

↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 在这里插入图片描述

在Excel中经常会遇到去除所有的中文,英文或者数字等情况。但是由于Excel并不支持一次替换所有的中文,英文,数字等,所以有些解决方法是复制到Word中进行替换,但是这种方法个人感觉比较麻烦不好用,因此提供一个利用VBA解决这个问题的方法.

具体操作如下:

使用“Alt+F11”打开开发者选项,在点击左侧的任意一个sheet,复制下面的代码内容,再点击左上角的绿色三角箭头运行即可 在这里插入图片描述

代码内容如下:

整个工作簿的所有sheet删除中文:

Sub remove_cn_char() Dim Rng As Range Dim Reg Set Reg = CreateObject("vbscript.regexp") '建立正则表达式 Reg.Pattern = "[\u4e00-\u9fa5]" '去汉字样式 Reg.Global = True '设置全局可用 For Each sh In Worksheets '遍历所有的sheet For Each Rng In sh.UsedRange '遍历所有的单元格 On Error Resume Next '防止一些错误值引起的报错 Rng = Reg.Replace(Rng, "") Next Next End Sub

删除特定sheet中的英文

Sub remove_cn_char() Dim Rng As Range Dim Reg Set Reg = CreateObject("vbscript.regexp") '建立正则表达式 Reg.Pattern = "[a-zA-Z]" '去英文样式 Reg.Global = True '设置全局可用 With Sheets("test") ‘设置要替换的sheet名称 For Each Rng In sh.UsedRange On Error Resume Next '防止一些错误值引起的报错 Rng = Reg.Replace(Rng, "") Next End With End Sub

在上述代码中,我们通过正则表达式对Excel中的中英文进行替换。如果需要替换不同的内容,则替换上述代码中的正则表达式样式即可。我们常用的正则表达式样式如下:

匹配中文字符的正则表达式:[\u4e00-\u9fa5]匹配双字节字符(即中文输入法状态下的所有输入字符,例如中文,中文标点符号等)的正则表达式:[^\x00-\xff]英文字母:[a-zA-Z]数字:[0-9]

当然如果你有其他的特殊的规则,也可以自己百度或书写相关正则表达式进行删除或替换。

替换中英文字符

有的时候处理文本使我们需要替换对应的中英文字符而非删除,例如需要对照两个文本,但是两个文本中的标点符号不一致,有的是中文,有的是英文,因此需要将两个文本中的符号统一。下面的程序可将中文标点符号替换为英文标点符号:

Sub test() Dim ar, br, cr, r&, c&, i&, j&, m& br = Array(",", "\", ".", "!", "?", ";", ":", "'", "'", """", """", "[", "]", "{", "}", "(", ")") cr = Split(",,、,。,!,?,;,:,‘,’,“,”,【,】,{,},(,)", ",") With ActiveSheet With .UsedRange ar = .Value r = .Row c = .Column End With On Error Resume Next For i = 1 To UBound(ar) For j = 1 To UBound(ar, 2) For m = LBound(cr) To UBound(cr) ar(i, j) = Replace(ar(i, j), cr(m), br(m)) Next m Next j Next i .Cells(r, c).Resize(UBound(ar), UBound(ar, 2)) = ar End With End Sub

同理,需要英文转中文,或者需要添加其他字符的话直接修改对应的br和cr即可



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有